$Description$
求$01$背包前$k$优解的价值和
$Solution$
简单的背包问题。我们知道$01$背包的转移条件是$f_{j}=max(f_{j},f_{j-v_{i}}+w_{i})$,也就是说$f_{j}$只会由$f_{j}$与$f_{j-v_{i}}$转移过来,我们考虑多加一维$k$优解,那么显然,$f_{j,k}$优解依然从$f_{j,p}(1\leqslant p\leqslant k)$与$f_{j-v_{i},p}(1\leqslant p\leqslant k)$转移过来。由于$k$很小,我们只需要用$f_{j,p}$与$f_{j-v_{i},p}$暴力判断第$k$优解更新答案即可。值得注意的是,这里的背包必须装满
$Code$
1 |
|